<?php

// 限时抢购活动

namespace app\console\controller;

use think\Url;
use think\Loader;
use think\Request;
use think\Controller;
use app\console\model\LimitedType as LimitedTypeModel;

class LimitedType extends Controller
{

    /**
     * 限时抢购活动主页
     * @param LimitedTypeModel $limitedType
     * @return mixed
     */
    public function index(LimitedTypeModel $limitedType)
    {
        // 获取活动信息
        $data = $limitedType::all();


        return $this->fetch('', [
            'mate_title' => '限时抢购活动主页',
            'data'       => $data,
        ]);
    }


    /**
     * 创建抢购活动
     * @param Request $request
     * @param LimitedTypeModel $limitedType
     * @return mixed
     */
    public function create(Request $request, LimitedTypeModel $limitedType)
    {
        if ($request->isPost()) {

            // 获取数据
            $data = $request->param();

            if ($data['start_time'] >= $data['end_time']) fail('开始时间不能大于结束时间');

            // 验证数据
            $validate = Loader::validate('LimitedType');
            if (!$validate->check($data)) fail($validate->getError());

            // 新增数据
            $operation = $limitedType->allowField(true)->save($data);

            if ($operation) {
                win('操作成功', Url::build('LimitedType/index'));
            }

            fail('操作失败');
        }


        return $this->fetch('', [
            'mate_title' => '限时抢购活动主页',

        ]);
    }


    /**
     * 编辑抢购活动
     * @param Request $request
     * @param LimitedTypeModel $limitedType
     * @return mixed
     */
    public function update(Request $request, LimitedTypeModel $limitedType)
    {
        if ($request->isPost()) {

            // 获取数据
            $data = $request->param();

            if ($data['start_time'] >= $data['end_time']) fail('开始时间不能大于结束时间');

            // 验证数据
            $validate = Loader::validate('LimitedType');
            if (!$validate->check($data)) fail($validate->getError());

            // 新增数据
            $operation = $limitedType->allowField(true)->save($data,['id'=>2]);

            if ($operation) {
                win('操作成功', Url::build('LimitedType/index'));
            }

            fail('操作失败');
        }

        // 获取限时抢购数据
        $item = $limitedType::get(2);


        return $this->fetch('create', [
            'mate_title' => '限时抢购活动主页',
            'item'       => $item

        ]);
    }


}